package com.mycompany.crm.dao;

import com.mycompany.crm.base.BaseMapper;
import com.mycompany.crm.query.RoleQuery;
import com.mycompany.crm.vo.Role;
import org.apache.ibatis.annotations.MapKey;

import java.util.List;
import java.util.Map;

public interface RoleMapper extends BaseMapper<Role,Integer> {

    /**
     * 多条件查询
     * @param roleQuery
     * @return
     */
    List<Role> selectByParams(RoleQuery roleQuery);

    /**
     * 查询所有的角色列表(因为只需要查roleName和id，故用map封装，无需查出Role全部信息)
     * @return roleName 角色名称和t_role表的id
     * @param userId 前端传入的对应用户的id
     * @return
     */
    @MapKey("id")
    List<Map<String,Object>> queryAllRoles(Integer userId);

    /**
     * 通过角色名查找对应角色
     * @param roleName 角色名
     * @return
     */
    Role queryRoleByRoleName(String roleName);
}